displayWidth

returns monospace display width of a string

  1. size_t displayWidth(T ch, AmbiguousCharWidth acw)
  2. size_t displayWidth(T str, AmbiguousCharWidth acw)
    size_t
    displayWidth
    (
    T
    )
    if (
    isSomeString!T
    )

Examples

assert(displayWidth("あいうえお") == 10);

// '☆' is Ambiguous characters
assert(displayWidth('☆') == 1);
assert(displayWidth('☆', AmbiguousCharWidth.wide) == 2);
assert(displayWidth("☆D言語くん☆") == 11);
assert(displayWidth("☆D言語くん☆", AmbiguousCharWidth.wide) == 13);

assert(eastAsianWidth('A') == EastAsianWidthProperty.F); // Fullwidth
assert(eastAsianWidth('ア') == EastAsianWidthProperty.H);  // Halfwidth
assert(eastAsianWidth('ア') == EastAsianWidthProperty.W); // Wide
assert(eastAsianWidth('A') == EastAsianWidthProperty.Na); // Narrow
assert(eastAsianWidth('☆') == EastAsianWidthProperty.A); // Ambiguous
assert(eastAsianWidth('À') == EastAsianWidthProperty.N);  // Neutral

Meta